Spreadsheet software or applications are relatively well-known and useful tools. Typical spreadsheet applications simulate physical spreadsheets by capturing, displaying, and manipulating data arranged in rows and columns. The intersecting rows and columns create numerous cells within the spreadsheet. Typically, each cell may contain an item of data and/or a mathematical formula.
Formulas are powerful tools in spreadsheet applications that allow users to generate information from the data. The formulas allow the user to make calculations based on data in other cells or change the data in other cells. Users often create formulas using a certain syntax recognized by the spreadsheet application. Upon entering a correct syntax for a formula, the spreadsheet may display the result of the formula within the spreadsheet. In some instances, the spreadsheet may display the formula.
Generally, users can create formulas in two ways. First, the user manually inputs an expression, with a keyboard or similar user interface device, into the spreadsheet in an application-recognizable syntax. Unfortunately, the formulaic expressions are often difficult to input manually because the formula syntax is hard to learn and often nonsensical to the user, similar to learning or using a foreign language. In addition, the formulaic expressions often require multiple parameters or arguments for each formula. The parameters help the spreadsheet application understand what the formula must accomplish. An error inputting a parameter either creates a formula that does not execute or a formula that executes incorrectly. Also, a more complicated task may require nested functions within a single formula with each function requiring multiple parameters. Long, nested formulas only exacerbate the problems because the longer and more complicated formulas provide even more opportunity for errors.
A second method for entering formulas involves function wizards. While the function wizards try to help the even less sophisticated users of the spreadsheet application, the wizards create new problems. First, the typical wizards generally provide a series of functions from which the user chooses. The list generally comprises mathematical titles, abbreviated titles, or some other title for the available functions. The titles tend to be difficult to understand for the typical user. In a specific example, to calculate the number of payments in a loan, a user using the Microsoft® Excel spreadsheet application would have to select the function named “NPMT.” As the example demonstrates, the function lists generally do not display English names or descriptions that the user can easily recognize or that a user knows will provide the correct function for their task. Knowing which formula to select becomes a difficult task because the user often needs to search for the function they want by scrolling through numerous function titles provided in the function wizard. Then, the user must read a description provided to the user in the dialog once the user highlights the function title.
In addition, the function wizard provides a complicated user interface because the user must enter the function parameters in a dialog that is often illogical and hard to use. The dialogs, used to prompt the user for the parameters, are often in algebraic or mathematic expressions that many users do not understand. For example, the user must enter parameters into a series of dialog boxes that are displayed as mathematical operations, such as “X=______.” Thus, to execute the correct function in a function wizard, a user would have to find the function by the title, determine that this was the correct function, select the function, enter all the parameters in the function correctly, and finally accept the function. Even in the wizard, the user often makes mistakes and creates inoperative or incorrect functions.
Finally, the functions are simple calculations that often do not relate to the task the user wants to complete. The users cannot choose one formula having one or more functions for the task that they have to accomplish. Rather, the user must determine which functions to use, and then organize several functions to work together to complete the overall task. It is with respect to these and other considerations that the present invention was made.